A data communication network may include multiple talkers (or sources of data) and multiple receivers. Any number of bridges (or switches) may be connected between each of the talkers and the receivers. The data communication network may be an arbitrary network (referred to as a non-engineered network) or non-arbitrary network (referred to as an engineered network). An arbitrary network may be, for example, a residential local area network (LAN), which may have different network devices (e.g., computers, cellular phones, televisions, printers, and electronic tablets) arbitrarily connecting and disconnecting at various points in the network and at random times. The network devices may connect and disconnect at any time regardless of the priority levels of data being transmitted in the arbitrary network.
A non-arbitrary network may be, for example, an automotive network within a vehicle or a manufacturing assembly line network. In general, network devices in a non-arbitrary network are fixed and are not being connected and/or disconnected from the non-arbitrary network. Although network devices may be connected to and/or disconnected from a non-arbitrary network, communication with a network device that is being connected to or disconnected from the non-arbitrary network is given lower priority during transmission periods of high-priority data. During these transmission periods, high-priority data is transmitted between network devices in the non-arbitrary network.
For example, a non-arbitrary Ethernet network that is operating according to Institute of Electrical and Electronics Engineers (IEEE) 802.1 Qav may include a talker (or source), multiple bridges and a listener (or receiver). The talker may transmit high-priority data to the listener over the bridges during allocated transmission periods of periodic transmission time intervals. High-priority data may refer to, for example, Class A or Class B data with low-latency requirements. The term latency may refer to time for a high-priority frame to be transmitted through one or more hops of the non-arbitrary network. The latency of a single hop is measured from a time when a last bit of a high-priority frame is received by a network device for that hop to a time when the last bit is transmitted from the network device. Simply stated, the latency of a single hop is measured from the last bit into the network device to the last bit out of the network device. A single hop may refer to a talker (referred to as an end station) or a bridge of the non-arbitrary network.
In a non-arbitrary Ethernet network, transmitted data may have, for example, one of three to eight priority levels. Class A data may include audio video bridging (AVB) data with a highest priority level. The highest priority is used to insure the lowest latency. Although AVB data may include audio data and/or video data, AVB data may also include control data, user data, reference data, or other types of data. The highest priority level data may be provided with a predetermined amount of bandwidth and a predetermined maximum latency. This assures that the Class A data is transmitted during allocated time periods and latency associated with transmitting the Class A data over a predetermined number of hop(s) and/or between end stations is less than the predetermined maximum latency. Class B data may be AVB data with a next highest priority level. All Non-AVB data use the remaining lower priority levels. In general, higher priority data is transmitted before lower priority data. If a device supports less than the maximum eight priority levels the IEEE 802.1 Qav standard defines how the eight external priorities are to be mapped to the number of priorities supported by the device. In all cases Class A is the highest.
The IEEE AVB standards support guaranteed bandwidth and latency for properly reserved AVB streams over various networking media such as Ethernet (IEEE 802.3). One of these standards, IEEE 1722, requires that talkers insert a respective ‘presentation time’ into each frame of a stream of data. Presentation times are inserted into the stream of data if frames of the data contain media samples (e.g., audio) that need to be played back in a listener at a certain media clock rate of the stream of data. This allows a listener to be able to play back the stream of data without buffer underflow or overflow issues at the listener.
As an example, a host control module of a talker may determine a presentation time for a frame of a data stream and incorporate the presentation time in the frame prior to transmitting the frame to a listener. The presentation time may refer to (i) a time when a specific sample in a frame is to be received by a medium access control (MAC) module of a listener, (ii) a time when the sample is to be played out at the listener, or (iii) a time between when the sample is received by the MAC module of the listener and the time when the sample is played out at the listener. The presentation times of the data stream define the media clock rate for the data stream.
AVB Class A frames, which are defined in the generation 1 (Gen 1) AVB standards, are designed to pass through 7 hops (e.g., six network wire links) of Ethernet devices in under 2 milli-seconds (mSec). As such, a talker may set a default ‘presentation time’ for a Class A frame a predetermined period (e.g., 2 mSec) from when a MAC module of the talker is to transmit the Class A frame to a listener. The predetermined period is used to compensate for a worst case latency of a network between the talker and the listener. The latency of the network may begin when the MAC module receives a frame.